package com.focus.pay.ali.model.order;

import com.alipay.api.domain.*;
import com.focus.pay.core.domain.PayModelDomain;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
* @Author: 赵参谋
* @Date: 2021/10/11 15:29
* @Description: 支付宝-电脑网站支付
 * https://opendocs.alipay.com/open/028r8t
*/
@Data
@Builder
public class AliPayModelPc extends PayModelDomain {

    /**
     * 商户订单号
     */
    private String out_trade_no;

    /**
     * 订单总金额
     */
    private BigDecimal total_amount;

    /**
     * 通知地址
     */
    private String notifyUrl;

    /**
     * 订单标题
     */
    private String subject;

    /**
     * 产品码
     */
    private String product_code;

    /**
     * 订单附加信息
     */
    private String body;

    /**
     * PC扫码支付的方式
     */
    private String qr_pay_mode;

    /**
     * 商户自定义二维码宽度
     */
    private int qrcode_width;

    /**
     * 订单包含的商品列表信息
     */
    private List<GoodsDetail> GoodsDetail;

    /**
     * 订单绝对超时时间
     */
    private String time_expire;

    /**
     * 订单相对超时时间
     */
    private String timeout_express;

    /**
     * 描述分账信息
     */
    private RoyaltyInfo RoyaltyInfo;

    /**
     * 二级商户信息
     */
    private SubMerchant SubMerchant;

    /**
     * 描述结算信息
     */
    private SettleInfo SettleInfo;

    /**
     * 业务扩展参数
     */
    private ExtendParams ExtendParams;

    /**
     * 商户传入业务信息，具体值要和支付宝约定，应用于安全
     */
    private String business_params;

    /**
     * 优惠参数
     */
    private String promo_params;

    /**
     * 公用回传参数
     */
    private String passback_params;

    /**
     * 请求后页面的集成方式
     */
    private String integration_type;

    /**
     *  	请求来源地址
     */
    private String request_from_url;

    /**
     * 签约参数，支付后签约场景使用
     */
    private AgreementSignParams AgreementSignParams;

    /**
     * 商户门店编号
     */
    private String store_id;

    /**
     * 指定支付渠道
     */
    private String enable_pay_channels;

    /**
     * 禁用渠道,用户不可用指定渠道支付
     */
    private String disable_pay_channels;

    /**
     * 商户的原始订单号
     */
    private String merchant_order_no;

    /**
     * 外部指定买家
     */
    private ExtUserInfo ExtUserInfo;

    /**
     * 开票信息
     */
    private InvoiceInfo InvoiceInfo;
}
